package service

import (
	"github.com/gin-gonic/gin"
	"github.com/starmotioncf/common/third_game"
	"github.com/starmotioncf/common/third_game/baishun"
	"github.com/starmotioncf/common/third_game/joyplay"
	"github.com/starmotioncf/soutchatinternal/dto"
)

type ThirdGameConfig struct {
	TokenSecretKey string         `help:"第三方游戏token的加密密钥" releaseDefault:"!^_^!" default:"!-_-!"`
	Issuer         string         `help:"第三方游戏token的平台标注"   default:"sout"`
	Baishun        baishun.Config //默认的百顺游戏
	Joyplay        joyplay.Config //Joyplay
}

type ThirdGameService interface {
	//GetList 获取所有游戏列表
	//GetList(ctx context.Context, req *dto.ThirdGameListReq) (res []*dto.ThirdGameListItem, err error)
	//GetListV2 获取所有游戏列表v2，会分组
	//GetListV2(ctx context.Context, req *dto.ThirdGameListReq) (res []*dto.ThirdGameCategoryList, err error)
	third_game.Service
	// GetList 获取所有游戏列表，分类
	GetList(ctx *gin.Context, req *dto.ThirdGameListReq) (res []*dto.ThirdGameCategoryList, err error)
	// GetPlatformProvider 获取平台的游戏实例
	GetPlatformProvider(accountId string) (third_game.Provider, error)
}
